package com.ruoyi.classai.service;

import com.ruoyi.classai.domain.EwcChapter;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.classai.domain.dto.PublicIdQueryInterfaceDto;
import com.ruoyi.classai.domain.vo.EwcChapterVo;
import com.ruoyi.classai.domain.vo.LearningAnalytics.AnalyticsChapterTeachVo;
import com.ruoyi.classai.domain.vo.TodayCourseChapterVo;
import org.apache.ibatis.annotations.Param;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * 章节信息Service接口
 * 
 * @author lcj
 * @date 2025-02-27
 */
public interface IEwcChapterService extends IService<EwcChapter> {

    /**
     * 查询章节列表
     * @param courseId 课程ID
     * @param chapterName 章节名称
     * @param classId 班级ID
     * @return 章节列表
     */
    List<EwcChapterVo> getChapterList(String courseId,String classId, String chapterName);

    /**
     * 查询首页课程信息
     * @param teacherId 老师id
     * @param today 时间
     * @return 课程信息
     */
    List<TodayCourseChapterVo> getTodayCourseChapter(String teacherId, String today);


    boolean updateState(PublicIdQueryInterfaceDto publicIdQueryInterfaceDto);

    void updateEndClassState(@Valid PublicIdQueryInterfaceDto publicIdQueryInterfaceDto);

    boolean  updateChapterStatus(EwcChapter ewcChapter);

    AnalyticsChapterTeachVo getChapterTeachInfo(EwcChapter ewcChapter);
}
